package com.hqyj.server.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;

@MappedSuperclass
@Data
//这是所有实体类的父类，但是这个不会映射为表。//注意类上不能添加@Entity
public class BaseEntity implements Serializable,Cloneable {

    @TableField(fill = FieldFill.INSERT)
    @Column(length = 32)
    protected String createTime; //创建时间

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Column(length = 32)
    protected String modifyTime; //修改修改

    @TableLogic //表示是逻辑删除字段
    @TableField(fill = FieldFill.INSERT)
    protected Boolean flag; //是否被删除

    @Version  //表示乐观锁字段
    @TableField(fill = FieldFill.INSERT)
    protected Integer version; //乐观锁
}
